home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / include / python2.4 / ImDib.h < prev    next >
C/C++ Source or Header  |  2008-06-24  |  1KB  |  65 lines

  1. /*
  2.  * The Python Imaging Library
  3.  * $Id: ImDib.h 2319 2005-03-11 16:41:26Z fredrik $
  4.  *
  5.  * Windows DIB specifics
  6.  *
  7.  * Copyright (c) Secret Labs AB 1997-98.
  8.  * Copyright (c) Fredrik Lundh 1996.
  9.  *
  10.  * See the README file for information on usage and redistribution.
  11.  */
  12.  
  13. #ifdef WIN32
  14.  
  15. #if (defined(_MSC_VER) && _MSC_VER >= 1200) || (defined __GNUC__)
  16. /* already defined in basetsd.h */
  17. #undef INT32
  18. #undef INT64
  19. #undef UINT32
  20. #endif
  21.  
  22. #include <windows.h>
  23.  
  24. #if defined(__cplusplus)
  25. extern "C" {
  26. #endif
  27.  
  28. struct ImagingDIBInstance {
  29.     /* Windows interface */
  30.     HDC dc;
  31.     HBITMAP bitmap;
  32.     HGDIOBJ old_bitmap;
  33.     BITMAPINFO *info;
  34.     UINT8 *bits;
  35.     HPALETTE palette;
  36.     /* Used by cut and paste */
  37.     char mode[4];
  38.     int xsize, ysize;
  39.     int pixelsize;
  40.     int linesize;
  41.     ImagingShuffler pack;
  42.     ImagingShuffler unpack;
  43. };
  44.  
  45. typedef struct ImagingDIBInstance* ImagingDIB;
  46.  
  47. extern char* ImagingGetModeDIB(int size_out[2]);
  48.  
  49. extern ImagingDIB ImagingNewDIB(const char *mode, int xsize, int ysize);
  50.  
  51. extern void ImagingDeleteDIB(ImagingDIB im);
  52.  
  53. extern void ImagingDrawDIB(ImagingDIB dib, int dc, int dst[4], int src[4]);
  54. extern void ImagingExposeDIB(ImagingDIB dib, int dc);
  55.  
  56. extern int ImagingQueryPaletteDIB(ImagingDIB dib, int dc);
  57.  
  58. extern void ImagingPasteDIB(ImagingDIB dib, Imaging im, int xy[4]);
  59.  
  60. #if defined(__cplusplus)
  61. }
  62. #endif
  63.  
  64. #endif
  65.